<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>企业微信Jssdk测试</title>
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
    <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <!-- head 中 -->
    <link rel="stylesheet" href="https://cdn.bootcss.com/weui/1.1.3/style/weui.min.css">
    <link rel="stylesheet" href="https://cdn.bootcss.com/jquery-weui/1.2.1/css/jquery-weui.min.css">
</head>
<body style="text-align: center;">
<h1>企业微信Jssdk测试</h1>
<p th:text="'商圈Id:' + ${entityId}" />
<br>
<a href="javascript:;" class="weui-btn weui-btn_primary" onclick="wxConfig()">wxConfig</a>
<a href="javascript:;" class="weui-btn weui-btn_warn" onclick="previewImage()">预览图片</a>
<a href="javascript:;" class="weui-btn weui-btn_default" onclick="chooseImage()">拍照</a>
<a href="javascript:;" class="weui-btn weui-btn_plain-default" onclick="getLocation()">获取地理位置</a>
<a href="javascript:;" class="weui-btn weui-btn_warn" onclick="shareAppMessage()">分享到会话</a>
<a href="javascript:;" class="weui-btn weui-btn_warn" onclick="shareWechatMessage()">分享到微信</a>
<a href="javascript:;" class="weui-btn weui-btn_plain-primary" onclick="scanQRCode()">扫一扫</a>
<a href="javascript:;" class="weui-btn weui-btn_plain-primary" onclick="selectEnterpriseContact()">获取内部人员</a>

<hr>
<blockquote>
    所有需要使用JS-SDK的页面必须先注入配置信息，否则将无法调用（同一个url仅需调用一次，对于
    变化url的SPA的web app可在每次url变化时进行调用）。
</blockquote>
</body>
<script src="https://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery-weui/1.2.1/js/jquery-weui.min.js"></script>
<script>
    function wxConfig() {
        $.post("wx/oauth/create/jsapi_sign",{
            url: location.href  //传递当前页面的url
        },function(data){
            debugger
            wx.config({
                beta: true,// 必须这么写，否则wx.invoke调用形式的jsapi会有问题
                debug: true,// 开启调试模式
                appId: data.appId,// 必填，企业微信的corpID
                timestamp: data.timestamp,// 必填，生成签名的时间戳
                nonceStr: data.nonceStr, // 必填，生成签名的随机串
                signature: data.signature,// 必填，签名
                jsApiList: ['shareWechatMessage ','shareAppMessage','scanQRCode','chooseImage','checkJsApi','selectExternalContact','previewImage','getLocation']  // 必填，需要使用的JS接口列表
            });
            wx.ready(function(){
                $.alert("验证成功");
                wx.checkJsApi({
                    jsApiList: ['chooseImage'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
                    success: function(res) {
                        $.alert(res);
                    }
                });

            });
            wx.error(function(res){
                $.alert("微信认证失败，请重试");
            });
        });
    }
    
    function chooseImage() {
        wx.chooseImage({
            count: 1, // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
            defaultCameraMode: "batch", //表示进入拍照界面的默认模式，目前有normal与batch两种选择
            isSaveToAlbum: 1, //整型值，0表示拍照时不保存到系统相册，1表示自动保存，默认值是1
            success: function (res) {
                var localIds = res.localIds; // 返回选定照片的本地ID列表，
                // andriod中localId可以作为img标签的src属性显示图片；
                $.alert(localIds);
            }
        });
    }


    function previewImage() {
        wx.previewImage({
            current: 'https://assets.2dfire.com/frontend/af534792962ad1feade6cb038d98772a.png', // 当前显示图片的http链接
            urls: ['https://assets.2dfire.com/frontend/af534792962ad1feade6cb038d98772a.png'] // 需要预览的图片http链接列表
        });
    }


    function getLocation() {
        wx.getLocation({
            type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
            success: function (res) {
                var latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
                var longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
                var speed = res.speed; // 速度，以米/每秒计
                var accuracy = res.accuracy; // 位置精度
                $.alert(res);
            }
        });
    }

    function scanQRCode() {
        wx.scanQRCode({
            desc: 'scanQRCode desc',
            needResult: 0, // 默认为0，扫描结果由企业微信处理，1则直接返回扫描结果，
            scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码（一维码），默认二者都有
            success: function(res) {
                // 回调
            },
            error: function(res) {
                if (res.errMsg.indexOf('function_not_exist') > 0) {
                    alert('版本过低请升级')
                }
            }
        });
    }

    function shareAppMessage() {
        wx.invoke(
            "shareAppMessage", {
                title: '分享标题', // 分享标题
                desc: '分享描述', // 分享描述
                link: 'http://chenxingxing.51vip.biz/jssdk', // 分享链接
                imgUrl: 'http://mmbiz.qpic.cn/mmbiz_jpg/kqu5eakDVMTcnKRKc54W9NZaLkWLSlibgXOAvicicAGV6XwTSYf6WhMQ1ov0RLE9ahKw54BvOcmexNmy9pdNGklqw/0' // 分享封面
            }, function(res) {
                if (res.err_msg == "shareAppMessage:ok") {
                }
            }
        );
    }

    function shareWechatMessage() {
        wx.invoke(
            "shareWechatMessage", {
                title: '分享标题', // 分享标题
                desc: '分享描述', // 分享描述
                link: 'http://chenxingxing.51vip.biz/jssdk', // 分享链接
                imgUrl: 'http://mmbiz.qpic.cn/mmbiz_jpg/kqu5eakDVMTcnKRKc54W9NZaLkWLSlibgXOAvicicAGV6XwTSYf6WhMQ1ov0RLE9ahKw54BvOcmexNmy9pdNGklqw/0' // 分享封面
            }, function(res) {
                if (res.err_msg == "shareWechatMessage:ok") {
                }
            }
        );
    }

    function selectEnterpriseContact() {
        wx.invoke("selectEnterpriseContact", {
                "fromDepartmentId": 0,// 必填，表示打开的通讯录从指定的部门开始展示，-1表示自己所在部门开始, 0表示从最上层开始
                "mode": "multi",// 必填，选择模式，single表示单选，multi表示多选
                "type": ["department", "user"],// 必填，选择限制类型，指定department、user中的一个或者多个
            },function(res){
                if (res.err_msg == "selectEnterpriseContact:ok")
                {
                    if(typeof res.result == 'string')
                    {
                        res.result = JSON.parse(res.result) //由于目前各个终端尚未完全兼容，需要开发者额外判断result类型以保证在各个终端的兼容性
                    }
                    var selectedDepartmentList = res.result.departmentList;// 已选的部门列表
                    for (var i = 0; i < selectedDepartmentList.length; i++)
                    {
                        var department = selectedDepartmentList[i];
                        var departmentId = department.id;// 已选的单个部门ID
                        var departemntName = department.name;// 已选的单个部门名称
                    }
                    var selectedUserList = res.result.userList; // 已选的成员列表
                    for (var i = 0; i < selectedUserList.length; i++)
                    {
                        var user = selectedUserList[i];
                        var userId = user.id; // 已选的单个成员ID
                        var userName = user.name;// 已选的单个成员名称
                        var userAvatar= user.avatar;// 已选的单个成员头像
                    }
                }
            }
        );
    }
</script>
</html>